//
//  LZFilterViewPresenter.h
//  laziz_Consumer
//
//  Created by xbnzd on 16/12/8.
//  Copyright © 2016年 XBN. All rights reserved.
//

#import "LZBasePresenter.h"
@class LZPublicKeywordModel;
@class LZHotAreaModel;
@class LZCuisineModel;


@interface LZFilterViewPresenter : LZBasePresenter

#pragma mark -
#pragma mark 返回数据源
//section name 视频
+ (NSArray *)returnSectionNameForVideo;

//section name  餐厅
+ (NSArray *)returnSectionNameForRestaurant;

//筛选 距离
+ (NSMutableArray *)returnDistanceArr;

//筛选 优惠
+ (NSMutableArray *)returnDiscountsArr;

//视频筛选 排序
+ (NSMutableArray *)returnSortArrForVideo;

//餐厅筛选 排序
+ (NSMutableArray *)returnSortArrForRestaurant;

//餐厅筛选 其他
+ (NSMutableArray *)returnOtherArr;

#pragma mark -
#pragma mark 存储,操作单选和多选
/**
 操作单选结果

 @param keyword 单选的关键字
 @param m 新传进来的model
 @param dataArr 原来的数据源
 */
+ (NSString *)operationRadioDataWithKeyword:(NSString *)keyword newSelectedModel:(LZPublicKeywordModel *)m dataSource:(NSMutableArray *)dataArr;


/**
 操作 多选结果

 @param m 新传进来的model
 @param arr 原来已经存在的选择结果
 */
+ (void)operationMultiSelectDataWithModel:(id)m selectedArr:(NSMutableArray *)arr;


#pragma mark -
#pragma mark 恢复上一次提交的值及状态
/**
 恢复距离选项 上一次的值

 @param keyword 上一次提交时存储的值
 @param dataArr 数据源
 */
+ (NSString *)restoreTheDistanceDataWithKeyword:(NSNumber *)keyword dataSource:(NSArray *)dataArr;

/**
 恢复 排序选项 上一次的值

 @param dic 上一次提交时存储的字典值
 @param dataArr 数据源
 @return 返回上一次选择的值
 */
+ (NSString *)restoreTheSortDataWithKeywordDic:(NSMutableDictionary *)dic dataSource:(NSArray *)dataArr;


/**
 恢复 其他选项 上一次的值
 
 @param dataArr 数据源
 @return 返回需要上一次的值
 */
+ (NSString *)restoreTheOtherDataWithdataSource:(NSArray *)dataArr;


/**
 回复 热门商区 上一次选择的值
 
 @param hotAreaId 上一次提交时 存储的id串
 @param dataArr 数据源
 @return 返回上次选择的数据源
 */
+ (NSMutableArray *)restoreTheHotAreaDataWithHotAreaIDStr:(NSString *)hotAreaId DataSource:(NSArray *)dataArr;



/**
 恢复 菜系 上一次选择的值

 @param cuisineId 上次提交时 存储的id 串
 @param dataArr 数据源
 @return 返回上次选择的数据源
 */
+ (NSMutableArray *)restoreTheCuisineDataWithCuisineIDStr:(NSString *)cuisineId DataSource:(NSArray *)dataArr;



/**
 恢复  优惠类型 上一次选择的值

 @param discountNumIdArr 上次提交时 存储的num 串
 @param dataArr 数据源
 @return 返回上次选择的数据源
 */
+ (NSMutableArray *)restoreTheDiscountsDataWithDiscountNumberIDArr:(NSArray *)discountNumIdArr DataSource:(NSArray *)dataArr;


#pragma mark -
#pragma mark 获取菜系, 商区
/**
 视频or餐厅列表筛选项获取热门商区 菜系
 
 @param type 1 菜系      2商区
 @param successBlock <#successBlock description#>
 @param failedBlock <#failedBlock description#>
 */
+ (void)getFilterKeyWordsWithType:(NSString *)type ResultSuccess:(void(^)(NSArray *listDataArr))successBlock ResultFailed:(void(^)(NSString *remind))failedBlock;


@end
